/**
 * @Title: UserValidator.java
 * @Package: com.webapp.blog.web.validator
 * @Description: TODO(用一句话描述该文件做什么的)
 * @author: Joden_He(hexiaofenga663@gmail.com)
 * @date: 2016年8月14日下午2:39:57
 * @version V1.0
 */
package com.webapp.blog.web.validator;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

import com.webapp.blog.web.model.User;

/**
 * @Class_name:UserValidator
 * @Decription:验证User类的username和password都不能为空
 * @author: Joden_He(hexiaofenga663@gmail.com)
 * @Create_date: 2016年8月14日下午2:39:57
 * @Modified_by: Joden_He
 * @Modified_date: 2016年8月14日下午2:39:57
 * @Modifing_notes: 提供一个Validator的实现类，并实现Validator接口
 * 的supports方法和validate方法。Supports方法用于判断当前的Validator
 * 实现类是否支持校验当前需要校验的实体类，只有当supports方法的返回结果
 * 为true的时候，该Validator接口实现类的validate方法才会被调用来对当前
 * 需要校验的实体类进行校验
 * @version: 
 *
 */
public class UserValidator implements Validator {

	@Override
	public boolean supports(Class<?> clazz) {
		// TODO Auto-generated method stub
		return User.class.equals(clazz);
	}

	@Override
	public void validate(Object obj, Errors errors) {
		// TODO Auto-generated method stub
		ValidationUtils.rejectIfEmpty(errors, "username", null, "Username is empty.");  
		User user = (User) obj;  
		if (null == user.getPassword() || "".equals(user.getPassword()))  
			errors.rejectValue("password", null, "Password is empty."); 
	}

}
